﻿/*
 * 设计一个C#程序，将右上三角形矩阵压缩为一维数组
 */

const int ARRAY_SIZE = 5;

// 上三角矩阵的内容
int[,] A =
{
    { 7, 8, 12, 21, 9 },
    { 0, 5, 14, 17, 6 },
    { 0, 0, 7, 23, 24 },
    { 0, 0, 0, 32, 19 },
    { 0, 0, 0, 0, 8 }
};

// 一维数组的数组声明
int[] B = new int [ARRAY_SIZE * (1 + ARRAY_SIZE) / 2];

int GetValue(int i, int j)
{
    int index = ARRAY_SIZE * i - i * (i + 1) / 2 + j;
    return B[index];
}

